<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Informa&ccedil;&atilde;o do Documento e Metadados - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/zend.pdf.info.html">Inglês (English)</a></li>
    <li><a href="../pt-br/zend.pdf.info.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.pdf.interactive-features.html">Interactive Features</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.pdf.html">Zend_Pdf</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.pdf.usage.html">Zend_Pdf module usage example</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="zend.pdf.info" class="section"><div class="info"><h1 class="title">Informação do Documento e Metadados</h1></div>
    
    

    <p class="para">
        Um documento <acronym class="acronym">PDF</acronym> deve incluir informações gerais como o título do
        documento, autor, e datas de criação e modificação.
    </p>

    <p class="para">
        Historicamente essas informações são armazenadas com o uso de estruturas especiais. Esta
        estrutura está disponível para leitura e escrita como uma matriz associativa usando a
        propriedade pública <span class="property">properties</span> dos objetos
        <span class="classname">Zend_Pdf</span>:
    </p>

    <pre class="programlisting brush: php">
$pdf = Zend_Pdf::load($pdfPath);

echo $pdf-&gt;properties[&#039;Title&#039;] . &quot;\n&quot;;
echo $pdf-&gt;properties[&#039;Author&#039;] . &quot;\n&quot;;

$pdf-&gt;properties[&#039;Title&#039;] = &#039;Novo Título.&#039;;
$pdf-&gt;save($pdfPath);
</pre>


    <p class="para">
        As seguintes chaves são definidas pelo padrão <acronym class="acronym">PDF</acronym> v1.4 (Acrobat 5):

        <ul class="itemizedlist">
            <li class="listitem">
                <p class="para">
                    <em class="emphasis">Title</em> - string, opcional, o título do documento.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    <em class="emphasis">Author</em> - string, opcional, o nome da pessoa que criou o
                    documento.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    <em class="emphasis">Subject</em> - string, opcional, o assunto do documento.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    <em class="emphasis">Keywords</em> - string, opcional, palavras-chave associadas ao
                    documento.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    <em class="emphasis">Creator</em> - string, opcional, se o documento foi convertido
                    para <acronym class="acronym">PDF</acronym> a partir de outro formato, o nome da aplicação (por
                    exemplo, Adobe FrameMaker®) que criou o documento original.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    <em class="emphasis">Producer</em> - string, opcional, se o documento foi convertido
                    para <acronym class="acronym">PDF</acronym> a partir de outro formato, o nome da aplicação (por
                    exemplo, Acrobat Distiller) que o converteu para <acronym class="acronym">PDF</acronym>.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    <em class="emphasis">CreationDate</em> - string, opcional, a data e a hora na qual o
                    documento foi criado, na seguinte forma: &quot;D:YYYYMMDDHHmmSSOHH&#039;mm&#039;&quot;, onde:

                    <ul class="itemizedlist">
                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">YYYY</em> é o ano.
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">MM</em> é o mês.
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">DD</em> é o dia (01–31).
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">HH</em> é a hora (00–23).
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">mm</em> é o minuto (00–59).
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">SS</em> é o segundo (00–59).
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">O</em> é a relação da hora local com a Hora
                                Universal (UT), denotada por um dos caracteres +, −, ou Z (veja
                                abaixo).
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">HH</em> seguido por &#039; é o valor absoluto da
                                diferença da Hora Universal em horas (00–23).
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis">mm</em> seguido por &#039; é o valor absoluto da
                                diferença da Hora Universal em minutos (00–59).
                            </p>
                        </li>
                    </ul>

                    O apóstrofo (&#039;) depois do HH e do mm é parte da sintaxe. Todos os campos depois
                    do ano são opcionais. (O prefixo D:, embora também seja opcional, é fortemente
                    recomendado.) Os valores padrões para MM e DD são, para ambos, 01; todos os
                    outros campos numéricos têm valor padrão zero. Um sinal positivo (+) no valor de
                    um campo significa que a hora local é mais tarde que a Hora Universal, e um
                    sinal negativo (−) indica que é mais cedo, e a letra Z indica que a hora é igual
                    à Hora Universal. Se nenhuma informação sobre à Hora Universal for específicada,
                    a relação da hora com a Hora Universal é considerada desconhecida. Sendo ou não
                    conhecido o fuso horário, o resto da data deve ser especificado na hora local.
                </p>

                <p class="para">
                    Por exemplo, 23 de Dezembro de 1998, 7:52 da noite, U.S. Pacific Standard Time,
                    é representado pela string &quot;D:199812231952−08&#039;00&#039;&quot;.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    <em class="emphasis">ModDate</em> - string, opcional, a data e a hora da atualização
                    mais recente no documento, na mesma forma de <em class="emphasis">CreationDate</em>.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    <em class="emphasis">Trapped</em> - booleano, opcional, indica se o documento foi
                    modificado para a inclusão de informações &quot;trapped&quot;.

                    <ul class="itemizedlist">
                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis"><b><tt>TRUE</tt></b></em> - The document has
                                been fully trapped; no further trapping is needed.
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis"><b><tt>FALSE</tt></b></em> - The document has
                                not yet been trapped; any desired trapping must still be done.
                            </p>
                        </li>

                        <li class="listitem">
                            <p class="para">
                                <em class="emphasis"><b><tt>NULL</tt></b></em> - Either it is
                                unknown whether the document has been trapped or it has been partly
                                but not yet fully trapped; some additional trapping may still be
                                needed.
                            </p>
                        </li>
                    </ul>
                </p>
            </li>
        </ul>
    </p>

    <p class="para">
        Desde a versão 1.6 do <acronym class="acronym">PDF</acronym>, os metadados podem ser armazenados em um
        documento <acronym class="acronym">XML</acronym> especial anexado ao <acronym class="acronym">PDF</acronym> (XMP - <a href="http://www.adobe.com/products/xmp/" class="link external">&raquo; Extensible Metadata Platform</a>).
    </p>

    <p class="para">
        Este documento <acronym class="acronym">XML</acronym> pode ser recuperado e anexado ao PDF com os métodos
         <span class="methodname">Zend_Pdf::getMetadata()</span> e
         <span class="methodname">Zend_Pdf::setMetadata($metadata)</span>:
    </p>

    <pre class="programlisting brush: php">
$pdf = Zend_Pdf::load($pdfPath);
$metadata = $pdf-&gt;getMetadata();
$metadataDOM = new DOMDocument();
$metadataDOM-&gt;loadXML($metadata);

$xpath = new DOMXPath($metadataDOM);
$pdfPreffixNamespaceURI = $xpath-&gt;query(&#039;/rdf:RDF/rdf:Description&#039;)
                                -&gt;item(0)
                                -&gt;lookupNamespaceURI(&#039;pdf&#039;);
$xpath-&gt;registerNamespace(&#039;pdf&#039;, $pdfPreffixNamespaceURI);

$titleNode = $xpath-&gt;query(&#039;/rdf:RDF/rdf:Description/pdf:Title&#039;)-&gt;item(0);
$title = $titleNode-&gt;nodeValue;
...

$titleNode-&gt;nodeValue = &#039;Novo título&#039;;
$pdf-&gt;setMetadata($metadataDOM-&gt;saveXML());
$pdf-&gt;save($pdfPath);
</pre>


    <p class="para">
        Propriedades comuns são duplicadas na estrutura Info e nos Metadados do documento (se
        presente). Agora é responsabilidade da aplicação do usuário mantê-los sincronizados.
    </p>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.pdf.interactive-features.html">Interactive Features</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.pdf.html">Zend_Pdf</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.pdf.usage.html">Zend_Pdf module usage example</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="reference.html">Refer&ecirc;ncia do Zend Framework</a></li>
  <li class="header up"><a href="zend.pdf.html">Zend_Pdf</a></li>
  <li><a href="zend.pdf.introduction.html">Introdu&ccedil;&atilde;o</a></li>
  <li><a href="zend.pdf.create.html">Criando e Carregando Documentos PDF</a></li>
  <li><a href="zend.pdf.save.html">Salvar Mudan&ccedil;as em Documentos PDF</a></li>
  <li><a href="zend.pdf.pages.html">Trabalhando com P&aacute;ginas</a></li>
  <li><a href="zend.pdf.drawing.html">Desenhando</a></li>
  <li><a href="zend.pdf.interactive-features.html">Interactive Features</a></li>
  <li class="active"><a href="zend.pdf.info.html">Informa&ccedil;&atilde;o do Documento e Metadados</a></li>
  <li><a href="zend.pdf.usage.html">Zend_Pdf module usage example</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>